// API配置
export const API_CONFIG = {
  // API基础URL
  BASE_URL: import.meta.env.VITE_API_BASE_URL || 'http://localhost:4002/api',
  
  // 请求超时时间（毫秒）
  TIMEOUT: 10000,
  
  // 请求头配置
  HEADERS: {
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  }
}

  // 门店相关API端点
  export const STORE_API = {
    // 获取门店列表
    GET_STORES: '/stores',
    
    // 获取门店详情
    GET_STORE: (id) => `/stores/${id}`,
    
    // 创建门店
    CREATE_STORE: '/stores',
    
    // 更新门店
    UPDATE_STORE: (id) => `/stores/${id}`,
    
    // 删除门店
    DELETE_STORE: (id) => `/stores/${id}`,
    
    // 批量删除门店
    BATCH_DELETE_STORES: '/stores',
    
    // 获取门店统计信息
    GET_STORE_STATS: '/stores/stats',
    
    // 一键重新统计员工数
    RECALCULATE_STAFF_COUNTS: '/stores/recalculate-staff-counts',
    
    // 验证门店名称
    VALIDATE_STORE_NAME: '/stores/validate/name',
    
    // 地图相关
    STATIC_MAP: '/staticmap',
    GEOCODE: '/geocode',
    SEARCH: '/search'
  }

// 员工管理相关API端点
export const EMPLOYEE_API = {
  // 获取员工列表
  GET_EMPLOYEES: '/api/employees',
  
  // 获取员工详情
  GET_EMPLOYEE: (id) => `/api/employees/${id}`,
  
  // 创建员工
  CREATE_EMPLOYEE: '/api/employees',
  
  // 更新员工信息
  UPDATE_EMPLOYEE: (id) => `/api/employees/${id}`,
  
  // 删除员工
  DELETE_EMPLOYEE: (id) => `/api/employees/${id}`,
  
  // 更新员工职位
  UPDATE_EMPLOYEE_ROLE: (id) => `/api/employees/${id}/role`,
  
  // 更新员工状态
  UPDATE_EMPLOYEE_STATUS: (id) => `/api/employees/${id}/status`,
  
  // 获取员工统计信息
  GET_EMPLOYEE_STATS: '/api/employees/stats',
  
  // 批量导入员工
  IMPORT_EMPLOYEES: '/api/employees/import'
}

// 请假管理相关API端点
export const LEAVE_API = {
  // 获取请假申请列表
  GET_LEAVE_REQUESTS: '/api/leave-requests',
  
  // 创建请假申请
  CREATE_LEAVE_REQUEST: '/api/leave-requests',
  
  // 更新请假申请状态
  UPDATE_LEAVE_REQUEST: (id) => `/api/leave-requests/${id}`,
  
  // 删除请假申请
  DELETE_LEAVE_REQUEST: (id) => `/api/leave-requests/${id}`,
  
  // 审批请假申请
  APPROVE_LEAVE_REQUEST: (id) => `/api/leave-requests/${id}/approve`,
  
  // 拒绝请假申请
  REJECT_LEAVE_REQUEST: (id) => `/api/leave-requests/${id}/reject`
}

// 请求拦截器配置
export const REQUEST_INTERCEPTORS = {
  // 添加认证token
  addAuthToken: (config) => {
    const token = localStorage.getItem('token')
    if (token) {
      config.headers['x-auth-token'] = token
    }
    return config
  },
  
  // 添加基础URL
  addBaseURL: (config) => {
    config.url = API_CONFIG.BASE_URL + config.url
    return config
  }
}

// 响应拦截器配置
export const RESPONSE_INTERCEPTORS = {
  // 处理响应数据
  handleResponse: (response) => {
    return response.data
  },
  
  // 处理错误
  handleError: (error) => {
    if (error.response) {
      // 服务器返回错误状态码
      const { status, data } = error.response
      switch (status) {
        case 401:
          // 未授权，跳转到登录页
          localStorage.removeItem('token')
          window.location.href = '/login'
          break
        case 403:
          // 禁止访问
          console.error('禁止访问:', data.message)
          break
        case 404:
          // 资源不存在
          console.error('资源不存在:', data.message)
          break
        case 500:
          // 服务器内部错误
          console.error('服务器错误:', data.message)
          break
        default:
          console.error('请求失败:', data.message)
      }
    } else if (error.request) {
      // 网络错误
      console.error('网络错误:', error.message)
    } else {
      // 其他错误
      console.error('请求配置错误:', error.message)
    }
    return Promise.reject(error)
  }
} 